package com.cloudlead.commonData.vo;

import com.cloudlead.common.lang.persistence.AbstractIdEntity;

import com.cloudlead.commonData.action.validator.BaseCompanyOfficeValidatorGroup.*;

import javax.validation.constraints.Size;
import com.cloudlead.common.lang.annotation.BelongsTos;
import com.cloudlead.common.lang.annotation.Domain;
import com.cloudlead.common.lang.annotation.Label;
import java.lang.String;
import javax.validation.constraints.NotNull;
import com.cloudlead.commonData.vo.BaseCompany;

/**
 * BaseCompanyOffice is a Codegen vo type
 */
@Label("BaseCompanyOffice")
@BelongsTos(values = {
	@com.cloudlead.common.lang.annotation.BelongsTo(property="baseCompany", rootField="baseCompanyId")
})
@Domain(domainClassName="com.cloudlead.commonData.entity.EBaseCompanyOffice")
public class BaseCompanyOffice extends AbstractIdEntity<String> {

    private static final long serialVersionUID =13150272780131L;    
    @Label("baseCompanyId")
    private BaseCompany baseCompany;

    @Label("belongCompany")
    @Size(max=500)
    private String belongCompany;

    @NotNull(groups={Update.class})
    @Label("id")
    @Size(max=24)
    private String id;

    public BaseCompany getBaseCompany() {
        return baseCompany;
    }

    public void setBaseCompany(BaseCompany baseCompany) {
        this.baseCompany = baseCompany;
    }

    public String getBelongCompany() {
        return belongCompany;
    }

    public void setBelongCompany(String belongCompany) {
        this.belongCompany = belongCompany;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String toString() {
         return String.format("BaseCompanyOffice { baseCompany : %s,belongCompany : %s,id : %s }",baseCompany,belongCompany,id);
    }

}

